package db_models

// BooksKinds 书籍分类表
type BooksKinds struct {
	ID uint `json:"id"`
	// kind 分类的编号
	Kind string `json:"kind"`
	// 分类的描述
	Value string `json:"value"`
}

// Books 书籍表
type Books struct {
	ID   uint   `json:"id"`
	Name string `json:"name"`
	// 作者
	Author string `json:"author"`

	// 种类
	// 直接写入分类编号
	Kind string `json:"kind"`

	// 库存位置 示例：B5.5
	Location string `json:"location"`

	// 库存总量
	Number uint `json:"number"`
	// 库存余量
	Stock uint `json:"stock"`

	// ISBN：书籍的国际标准书号13位数字
	ISBN string `json:"isbn" gorm:"index:index_isbn,unique"`
	// 出版社
	Publisher string `json:"publisher"`
	// 出版日期 20050603
	PublishDate string `json:"publish_date"`

	// 封面
	Cover string `json:"cover"`
	// 简介
	Outline string `json:"outline"`
	// 状态
	Status uint `json:"status" gorm:"default:1"`
	// any information if you need
}

// BooksNumber 书籍索引表
type BooksNumber struct {
	ID     uint `json:"id"`
	BookID uint `json:"book_id"`
	// 默认外键
	Book Books `gorm:"foreignKey:BookID"`

	// 货架
	//Rack string `json:"rack"`

	// BookNo 范围：1-Number
	BookNo uint `json:"book_no"`

	// BookUniqueID 书籍的唯一索引 Kind-PublishDate-No
	// 示例：G-20050605-0052
	BookUniqueID string `json:"book_unique_id" gorm:"index:index_book_unique_id,unique"`
	// 书籍状态 0-可借阅  borrower_id-被借阅的用户id
	State uint `json:"state"`
}
